手動測試(Manual Testing)與自動化測試(Automation Testing)是非常直覺可以理解的兩個詞彙。為什麼需要盡量減少手動測試,並轉換成自動化測試呢?
自動化測試仰賴腳本(scripts),在建立腳本的過程中需要耗費很多時間,且會希望盡可能地全面性涵蓋使用者行為,才足以取代人工手動測試,但一個志在開發的工作者,勢必容易感到撰寫測試很無趣且佔用大量工時,上頭也未必看的到撰寫測試的成效,往往最後只能優先挑選「價值高、重要性高」的腳本來撰寫。可是一旦完善的測試腳本被建立後,就可以去除掉手動測試的人力,且可以於每次提交程式碼,都跑測試。自動化測試的初期成本偏高,放長遠來看投資報酬率卻會高於人工手動測試。
此外,人工手動測試彈性較大,可以即時的調整測試方向,但自動化測試則與功能息息相關,這也是為什麼我們說要「測試驅動開發」,藉此可以降低「一改功能,連測試都要跟著改動」的頻率。而人工測試容易產生誤差,因為人會疲乏,但腳本不會。
總結以上,自動化測試的益處多,似乎可以現在馬上開始建立測試腳本。